草庐IT

16. Object类

全部标签

ruby-on-rails - rails 3 : Should I explicitly save an object in an after_create callback?

相关编码:http://pastebin.com/EnLJUJ8GclassTask我正在制作一个小型任务应用程序。每个任务都分配到一个房间。添加任务后,我想使用回调来检查同一房间中在我刚添加的任务之前和之后是否有任务(尽管我的代码现在只处理一种边缘情况)。所以我决定使用after_create(因为用户在编辑它时会手动检查它,因此不是after_save)所以我可以使用两个范围和一个类方法来查询当天、房间里的任务,以及按时间订购。然后我在数组中找到对象并开始使用if语句。我必须明确地保存对象。有用。但我这样做感觉很奇怪。我不太有经验(第一个应用程序),所以我不确定这是不受欢迎的还是惯

ruby-on-rails - 跳过 :touch associations when saving an ActiveRecord object

有没有办法在保存时跳过更新与:touch关联的关联?设置:classSchool我希望能够在跳过触摸的地方执行如下操作。@school=School.create@student=Student.create(school_id:@school.id)@student.name="Trevor"@student.save#CanIdothiswithouttouchingthe@schoolrecord?你能做到吗?像@student.save(skip_touch:true)这样的东西会很棒,但我还没有找到类似的东西。我不想使用像update_column这样的东西,因为我不想跳过A

ruby-on-rails - Ruby 中的 Object::private 和 Object::public 是什么?

这些方法是什么?覆盖它们有多糟糕?irb(main):001:0>Object::respond_to?('private',true)=>trueirb(main):002:0>Object::respond_to?('public',true)=>true当尝试为模型定义一个名为private或public的范围时,问题出现在Rails中。由于修复了错误https://rails.lighthouseapp.com/projects/8994/tickets/4167-activerecord-named_scope-using-columns-as-the-name-is-bug

ruby-on-rails - 使用 Form Object 时应该如何处理编辑和更新操作?

我有以下表单对象来管理复杂的嵌套表单。表单=simple_form_for(@profile_form,:url=>profiles_path)do|f|...路线resources:profilesControllerclassProfilesController表单对象classProfileFormincludeActiveModel::ValidationsincludeActiveModel::ConversionextendActiveModel::Namingdefinitialize(profile_id=nil)ifprofile_id@profile=Profile

ruby - 如果 `main` 是 `Object` 的实例,为什么我不能调用它?

当我输入self时,我得到一个返回值main。我做了这个测试:main2=Object.new然后我可以调用main2,它会返回一些东西,但是当我调用main时,它会引发一个undefinedvariable错误。这是怎么发生的?以下是我在其他网站上发现的关于这个顶级环境如何工作的假设:classObjectObject.new.instance_evaldodefself.to_s"main"endprivate###Yourprogramgetsinsertedhere...##endend这对我来说很有意义。 最佳答案 “Wh

ruby-on-rails - 主要 :Object (NoMethodError) 的未定义方法 `require_relative'

在尝试更新OpenSSL时-我(似乎)破坏了笔记本电脑上Ruby和Rails的所有内容。即使在通过gemuninstall和rvmremove卸载ruby​​和rails之后,我仍然遇到此错误:Drews-MacBook-Pro:bookstoredrewwyatt$railsserverbin/rails:3:undefinedmethod`require_relative'formain:Object(NoMethodError)几个月来一切正常,直到我四处乱逛-更糟糕的是,我什至不确定我做了什么把事情搞砸了。额外信息Drews-MacBook-Pro:bookstoredreww

ruby - 为什么 Ruby 定义 Object#=~?

阅读对anotherquestion中的答案的评论后并做了一些研究,我看到=~是在Object上定义的,然后被String和Regexp覆盖.String和Regexp的实现似乎采用了另一个类:"123"=~"123"#=>TypeError:typemismatch:Stringgiven/123/=~/123/#=>TypeError:can'tconvertRegexptoString虽然=~是为Object定义的,但是+不是:Object.new=~1#=>nilObject.new+1#=>undefinedmethod`+'for#为什么要定义Object#=~,而不是将=

AT24C04、AT24C08、AT24C16系列EEPROM芯片单片机读写驱动程序

一、概述在之前的一篇博文中,记录了AT24C01、AT24C02芯片的读写驱动,先将之前的相关文章include一下:1.IIC驱动:4位数码管显示模块TM1637芯片C语言驱动程序2.AT24C01/AT24C02读写:AT24C01/AT24C02系列EEPROM芯片单片机读写驱动程序本文记录分享AT24C04、AT24C08、AT24C16芯片的单片机C语言读写驱动程序。二、芯片对比介绍型号容量bit容量byte页数字节/页器件寻址位可寻址器件数WordAddress位数/字节数备注AT24C044k5123216A2A149/1WordAddress使用P0位AT24C088k1024

ruby - 在 object.initialize 中,使用 self 是不是更好。超过 @?

有一种约定,在可能的情况下,通过对象的实例变量来引用对象的属性。PracticalObject-OrientedDesigninRuby说:Alwayswrapinstancevariablesinaccessormethodsinsteadofdirectlyreferringtovariables...这显示了一个例子,我已经释义了:classGearattr_reader:chainring,:cog...defratio#thisisbad#@chainring/@cog.to_f#thisisgoodchainring/cog.to_fend我看到使用实例变量创建新对象的最常

ruby - 主要 :Object 的未定义局部变量或方法 ` '

有时,以下会导致奇怪的错误:>nil|| 4NameError:undefinedlocalvariableormethod` 4'formain:Object>nil|| []NameError:undefinedlocalvariableormethod` 'formain:Object这是什么原因? 最佳答案 您不小心在Mac上键入Alt+Space,这会产生non-breakingspace.Ruby不将其视为空格,而是将其视为变量名的一部分。然后它提示变量不存在。SomepeopleliketoremapAlt+Space